Multi-variable matrix process control

ABSTRACT

The invention provides a method for computer-implemented controlling of a processing apparatus having at least one independently controlled manipulated variable and at least one controlled variable responsive to the manipulated variable. The control approach uses a robust multi-variable controller which defines an expected variation in magnitude for each controlled variable as a respective function of each manipulated variable via use of a set of at least two models. The model set has a dynamic response inertial characteristic. The two models are derived from a Reference Model (the traditional model defined in Dynamic Matrix Control). The multi-model set further enables adaptation of the models and gains during real-time use.

CROSS REFERENCE

[0001] This application claims the benefit of U. S. ProvisionalApplication No. 60/215,453 filed Jun. 30, 2000.

FIELD OF THE INVENTION

[0002] This invention relates to a computer-implemented method andcomputer-based apparatus for adaptive control via a matrix offeed-forward relationships respective to a process or series ofprocesses implemented in an apparatus such as a chemical manufacturingplant.

BACKGROUND

[0003] Optimized operation of manufacturing systems is valued forproviding benefits in profitability, productivity, environmental impact,and high product quality. The increasing capability of low costcomputers to deliver resolution of complex control approaches hasadvanced optimized operation to incorporate techniques which could nothave been economically explored even a few years ago. One of thetechniques enabled at a relatively early stage of computer use incontrol was Dynamic Matrix Control, a form of feed-forward control basedupon a method where outputs, or controlled variables, are predicted tomove in the context of known control settings and current data.Feed-forward methodologies are, in many cases, superior to feedbackmethodologies which wait until process disturbances have actuallychanged the controlled variables before controller action is taken.Indeed, an ideal controller provides both feed-forward and feedbackaction in sufficient capability to achieve optimal operation. DynamicMatrix Control is discussed in U.S. Pat. No. 4,349,869 for a DYNAMICMATRIX CONTROL METHOD which issued on Sep. 14, 1982 to David M. Prett,Brian L. Ramaker, and Charles R. Cutler. This patent is incorporatedherein by reference. Dynamic Matrix Control has helped in solvingcontrol issues related to limitations in future controller response inthe context of a decision at a particular time, accommodation of thefull set of conditions in a system being controlled, complexity inmultiple influences, and non-linear impacts respective to disturbance.

[0004] But, in its classic form, Dynamic Matrix Control (DMC) also haspresented challenges in dealing with process stability during transientsor at different turndowns or deviations from the fluid flow throughputused in model definition and tuning. The need for stability in use ofDMC in all operational contexts has been a driving force in thedevelopment of the present invention, which provides beneficial featuresin stability, robustness, and adaptability to substantially enhance thetraditional DMC approach.

SUMMARY OF THE INVENTION

[0005] The invention provides a method for computer-implementedcontrolling of a processing apparatus having at least one independentlycontrolled manipulated variable and at least one controlled variableresponsive to the manipulated variable, comprising the steps of:

[0006] defining an expected variation in magnitude for each controlledvariable as a respective function of each manipulated variable from aset of at least two models, the model set having a dynamic responseinertial characteristic; and

[0007] implementing a change defined from the model set to modify themanipulated variable in the processing apparatus.

[0008] Further details, objects, features, and advantages of theinvention are appreciated from consideration of the figures and detaileddescription.

BRIEF DESCRIPTION OF THE FIGURES

[0009]FIG. 1 presents a system overview.

[0010]FIG. 2 exhibits multi-variable controller logical detail.

[0011]FIG. 3 shows a basic control system block diagram.

[0012]FIG. 4 demonstrates a multi-variable control system block diagram.

[0013]FIG. 5 presents a time-dependent non-integrating-modelcharacterization.

[0014]FIG. 6 presents a multiple-model non-integrating-modelcharacterization.

[0015]FIG. 7 shows non-integrating-model set inertial characteristics.

[0016]FIG. 8 exhibits a time-dependent integrating-model functionalcharacterization.

[0017]FIG. 9 demonstrates a multiple-model integrating-modelcharacterization.

[0018]FIG. 10 presents integrating-model set inertial characteristics.

[0019]FIG. 11 shows multi-variable control general actions in deployinga multi-model system.

[0020]FIG. 12 presents model construction steps.

[0021]FIG. 13 exhibits dead-time time-axis attribute determination in amodel.

[0022]FIG. 14 demonstrates Steady-state time-axis attributedetermination in a model.

[0023]FIG. 15 shows ramp-portion determination detail in a model.

[0024]FIG. 16 presents curvalinear-portion determination detail in amodel.

[0025]FIG. 17 presents controller operation detail.

[0026]FIG. 18 exhibits adaptation methodology detail.

[0027]FIG. 19 shows future controlled variable requirement definitiondetail.

[0028]FIG. 20 demonstrates controlled variable prediction detail.

[0029]FIG. 21 presents output from a simulator for a regular DMCoperating in a situation of model mismatch in modeling parameters.

[0030]FIG. 22 presents output from a simulator for the robust controllerof the preferred embodiments operating in the situation of modelmismatch of FIG. 21.

[0031]FIG. 23 presents output from a simulator for a regular DMCoperating in a situation of model mismatch in gains.

[0032]FIG. 24 presents output from a simulator for the robust controllerof the preferred embodiments operating in the situation of modelmismatch of FIG. 23.

[0033]FIG. 25 presents output from a simulator for a regular DMCoperating in a situation of controller model inversion.

[0034]FIG. 26 presents output from a simulator for the robust controllerof the preferred embodiments operating in the situation of modelinversion of FIG. 25.

DETAILED DISCUSSION OF THE PREFERRED EMBODIMENTS

[0035] In describing the preferred embodiments, reference is made to“logic” and to “logical portions” which are in data communication witheach other. In this regard, computer-implemented logic generallyreferences virtual functional elements of computer-implemented machinecode which primarily perform tasks such as reading data, writing data,calculating data, performing decision operations related to data, andstoring data. As a design consideration, the discussion of theseelements as logical subportions enables a useful separation of theoverall logical system into focal abstracted subcomponents which caneach be efficiently considered, designed, studied, and enhanced within aseparately focused and distinctively particularized context. As shouldbe apparent, some of these subcomponents represent distinctive areas ofspecialty in their own right, even as they are incorporated into thecomprehensive and holistic system of the described embodiments. Thespecification also references the term “Real-Time” (real-time, realtime, Real-time); to facilitate clarity, the following paragraphpresents a discussion of the Real-Time concept.

[0036] Real-time computer processing is generically defined as a methodof computer processing in which an event causes a given reaction withinan actual time limit and wherein computer actions are specificallycontrolled within the context of and by external conditions and actualtimes. As an associated clarification in the realm of process control,real-time computer-controlled processing relates to the performance ofassociated process control logical, decision, and quantitativeoperations intrinsic to a process control decision program functioningto monitor and modify a controlled apparatus implementing a real-timeprocess wherein the process control decision program is periodicallyexecuted with fairly high frequency usually having a period of between10 ms and 2 seconds, although other time periods are also utilized. Inthe case of “advanced” control routines (such as the controller of thedescribed embodiments) where a single solution instance requires moreextended computational time, a larger period is essentially necessary(frequency in determination of changes in control element settingsshould be executed at a frequency equal-to-or-less-than the frequency ofrelevant variable measurement); however, an extended period forresolution of a particular value used in control is still determined inreal-time if its period of determination is repetitive on a reasonablypredicable basis and is sufficient for utility in adaptive control ofthe operating mechanical assembly.

[0037] The specification also references the term “Steady-State”(steady-state, steady state, Steady-state); to facilitate clarity, thefollowing paragraph presents a discussion of the Steady-State concept.

[0038] The solution method of the present invention also includes ageneral reference to the concept of “steady state operation”. “Steadystate operation” is essentially a situation where (1) a process isdynamically regular and uniform in its operation over a time interval,(2) momentum, mass, and energy entities flowing into the process areessentially equal to the momentum, mass, and energy entities flowing outof the process, and (3) accumulations of momentum, mass, and energywithin the process are essentially not occurring unless they areexplicitly expected and factored into the relevant dynamic model.Solutions of the mathematical balances with respect to the status ofsteady state operation need to also accommodate expected chemicalreactions. A system in “steady state” is, therefore, characterized bydynamic balance, stability, steadiness, and equilibrium.

[0039] The preferred embodiments provide a computer-implemented systemfor controlling the operation of a processing apparatus having at leastone independently controlled Manipulated Variable (MV) and at least oneControlled Variable (CV) responsive to the Manipulated Variable (furtherresponsive to process disturbances originating independently of theManipulated Variable).

[0040] In defining models, circuitry and logic are provided for defininga set of consecutive discrete intervals of time in a time-dependentfunction. A “classic” DMC (Dynamic Matrix Control) model (a PrimaryModel) is a beginning point for defining an expected variation inmagnitude for each Controlled Variable as a respective function of aManipulated Variable disturbance instance in each Manipulated Variable.Computer circuitry and logic are then used in determining, from themodel, an error value in interaction of one Controlled Variable with allthe defined Manipulated Variables in achieving a Manipulated Variablemodification. Computer circuitry and logic are also provided fordefining a desired change in the present value of at least oneManipulated Variable from the error value. Computer circuitry and logicthen use the Primary Model (also denoted as a Reference Model) indefining a set of at least two models (a Fast Model and a Slow Model)for establishing an expected variation in magnitude for each ControlledVariable as a respective function of a Manipulated Variable disturbanceinstance in each Manipulated Variable; the model set (the Primary Model,the Slow Model, and the Fast Model collectively) also has a dynamicresponse inertial characteristic for each of the “Slow” and “Fast”“sides” of the Primary (Reference) Model. The Reference Model, FastModel, and Slow Model are also respectively referenced as the REFERENCEModel, the FAST Model, and the SLOW Model herein.

[0041] In greater detail, the multi-variable controller of the preferredembodiments has, respective to each response case, at least onetime-dependent functional characterization of the Controlled Variablemagnitude over the set of consecutive discrete intervals of time on atime-axis, the functional characterization having a zero-time time-axisattribute, a maximum-time time-axis attribute, a dead-time time-axisattribute, a response gain attribute, a ramp-rate attribute, asteady-state time-axis attribute, a curvilinear portion disposed betweenthe time-axis position of the dead-time time-axis attribute and thetime-axis position of the steady-state time-axis attribute, a rampedportion disposed between the time-axis position of the dead-timetime-axis attribute and the time-axis position of the maximum-timetime-axis attribute, and a homaloidal portion disposed between thetime-axis position of the steady-state attribute and the time-axisposition of the maximum-time time-axis attribute, each discrete timeinterval for one response case having the same time duration, thehomaloidal portion having a zero value for an integrating ControlledVariable response, the ramped portion having a zero value for anon-integrating Controlled Variable response, and each functionalcharacterization for one response case having identically valuedzero-time time-axis attributes, response gain attributes, ramp-rateattributes, and maximum-time time-axis attributes.

[0042] The first time-dependent functional characterization respectiveto the response (the Primary Model) is derived from measuring aneffected change in the magnitude of a Controlled Variable afterintroducing the disturbance instance. The first functionalcharacterization has a first dead-time time-axis attribute, a firststeady-state time-axis attribute, a first curvilinear portion, a firsthomaloidal portion, and a first ramped portion having its functionalderivative equivalent to the ramp-rate attribute at the maximum-timetime-axis attribute.

[0043] The second time-dependent functional characterization (the FastModel) is derived from the first time-dependent functionalcharacterization, the second functional characterization having a seconddead-time attribute in first predefined diminishing offset from thefirst dead-time attribute, a second steady-state attribute in secondpredefined diminishing offset from the first steady-state attribute, asecond curvilinear portion in first predefined functional offset fromthe first curvilinear portion, a second homaloidal portion inextrapolation of the first homaloidal portion, and a second rampedportion in extrapolation of the first ramped portion.

[0044] The third time-dependent functional characterization (the SlowModel) is also derived from the first time-dependent functionalcharacterization, the third functional characterization having a thirddead-time attribute in first predefined super-additive offset from thefirst dead-time attribute, a third steady-state attribute in secondpredefined super-additive offset from the first steady-state attribute,a third curvilinear portion in second predefined functional offset fromthe first curvilinear portion, a third homaloidal portion in truncationof the first homaloidal portion, and a third ramped portion intruncation of the first ramped portion.

[0045] The Controller for the multi-variable controller is defined byessentially inverting the first time-dependent functionalcharacterization (the Primary Model). In implementing the models, aninertial characteristic value is input into the database of themodel-variable controller so that the dynamic response inertialcharacteristics are achieved in the model set. The inertialcharacteristics (establishing robustness in response) are (a) differentfor the “Slow side” of the Primary Model and for the “Fast side” of thePrimary Model, or (b) the two inertial characteristics are identical. Inthis regard, the first, second, and third time-dependent functionalcharacterizations define three models in a model set, the model setincorporating a first dynamic response inertial characteristic betweenthe first and second time-dependent functional characterizations and asecond dynamic response inertial characteristic between the first andthird time-dependent functional characterizations.

[0046] After the inertial characteristics have been input, the PrimaryModels are defined by introducing, in each independently controlledManipulated Variable, a Manipulated Variable disturbance instance ofpredefined magnitude, the disturbance instance prompting a response ineach Controlled Variable. The magnitude of each Controlled Variable isthen measured, retained, and used in definition of the Primary Modelaccording to traditional DMC practice (reference previously discussedU.S. Pat. No. 4,349,869). In implementing use of the multivariablecontroller, a number of different approaches are possible.

[0047] In one approach, a change is defined from the model set to modifyeach Manipulated Variable in the processing apparatus; in achieving thisdefinition, a desired change is determined for the value of aManipulated Variable in real-time from the second time-dependentfunctional characterization, the third time-dependent functionalcharacterization, and the magnitude of at least one Controlled Variable.

[0048] Alternatively, a desired change is determined for the value of aManipulated Variable in real-time from the first time-dependentfunctional characterization, the second time-dependent functionalcharacterization, the third time-dependent functional characterization,and the magnitude of at least one Controlled Variable.

[0049] In a further embodiment, an estimated modeling error value ininteraction of one Controlled Variable with all the ManipulatedVariables is determined in achieving a Manipulated Variablemodification. An estimated process disturbance value is then determinedfrom the Controlled Variable magnitude and the estimated modeling errorvalue; and a first portion of desired change in the present value of atleast one Manipulated Variable is determined from the estimated modelingerror value. Then a second portion of desired change in the presentvalue of at least one Manipulated Variable is determined from theestimated process disturbance value. The first and second desired changeportions are finally effectively combined to modify each ManipulatedVariable.

[0050] A basis for adaptation of the models in real-time operation isalso enabled in the described embodiments. In this regard, the modelingerror value and process disturbance values are used in decisions toadapt the controller in the context of the inertial characteristics ofthe model set. Furthermore, determination and counteraction respectiveto divergent response behavior in the controlling operation areimplemented to provide strategic robustness via (a) the adaptive processand (b) ongoing use of the models which have been adaptively modified inthe controller.

[0051] A formalized characterization of the multi-variable controller isset forth in the following section. The discussion will be divided intosix subsections: a first subsection describing the models of the robustmulti-variable controller; a second subsection discussing the controllerdefinition in the robust multi-variable controller; a third subsectiondiscussing determination of the process in the robust multi-variablecontroller; a fourth subsection discussing the adaptive process in therobust multi-variable controller; a fifth subsection discussing thedecision to adapt in the robust multi-variable controller; and a sixthsubsection discussing determination of divergence and adaptation todivergence in the robust multi-variable controller.

[0052] The following first subsection of the formalized characterizationdiscusses the models of the robust multi-variable controller.

[0053] The robust matrix process control method of the preferredembodiments requires sets of numerical values, which explicitly definethe relationship between (a) input variables, including feedforwardvariables (denoted as manipulated variables, MV), and (b) outputvariables (denoted as controlled variables, CV). Each data set isreferred to as a “model”. Each data set is expressed as a vector inwhich the entries are the values of the data set in ordered relation totime. Note that the input variables to the model (MV) are the outputsignals from the control system (MV) and that output variables from themodel (CV) are input signals to the control system (CV).

[0054] These data sets (expressed as vectors) are processed bycomputer-implemented procedures to (a) produce the mathematicaldatalogical objects (scalars, vectors, and matrices) and (b) to achieveengine-solved computations (implementation and manipulation in computerlogic of sets of scalars, vectors, matrices, and mathematical operationswhich are arranged in such an order as to perform a non-trivialmathematical calculation) to achieve robust control of the controlledapparatus.

[0055] As noted previously, the term “model” references a set of timestamped values defined as a vector:

[0056] Equation 1

M(t)={a _((t))}, where t=0,1*Δt, 2*Δt, 3*Δ, . . . np*Δt

[0057] where “np” is the model size—therefore, there are “np” a_((t))values.

[0058] Each value a_((t)) is obtained through regular modelidentification techniques. This usually involves plant testing and datacollection techniques along with subsequent analysis and processing.M(t) is alternatively a step model, an impulse model, or a parametricmodel. The description below refers to step models, but an equivalentexists for either an impulse model (an impulse model is readilytransformed into a step model by a summation process) or a parametricmodel (transformed to either a step model or impulse model).

[0059] There is always a model M(t) for each pair of MV and CV. Thetrivial model M(t)={0} from t=0 to np*Δt, indicates that no physicalrelation exists between the two elements of the pair, but this modelexists nonetheless. Usually the model is represented after smoothing ofthe sampled data (i.e. each a_((t))) to obtain a continuous curve; thesmoothed sampled data is shown in FIG. 5 and discussed in thespecification respective to FIG. 5.

[0060] A set of models is used to define the matrix A, where each columnof the matrix refers to a specific predicted future CV value. It shouldbe noted that the “A” matrix is apparent to those of skill in DynamicMatrix Control, and is normally used in descriptions of the technology.

[0061] This first set of models obtained by plant testing is denotedherein as the “Reference Model”. Since the “Reference Model” is timedependent, the time (“t”) is defined as the “Reference Time”. “ReferenceTime” goes from zero to t_(final). The definition of a Reference Time isimportant in deriving two other models from the Reference Model. In thisregard, the preferred embodiments are based in part upon defining a setof consecutive discrete intervals of time in related time-dependentmodels where each discrete time interval for each related model has thesame time duration and each related model also has identically valuedzero-time time-axis attributes and maximum-time time-axis attributes.The Reference Model and the two additional models (further describedherein) therefore all have a time axis with a time span from t=0 to thesame t_(final). A fundamental idea in the preferred embodiments is todefine and use an “envelope” derived-from and respective-to the“Reference Model”. The “envelope” is defined such that it delimits azone of uncertainty where the real model is trusted (a) to exist and,further, (b) to evolve with time and process conditions.

[0062] Thus, the “envelope” has an “upper” boundary and a “lower”boundary (respective to the time axis); these boundaries requiredefinition. For simplicity, assume that each model M(t) has a continuousmathematical equivalent. That is: M(t) is a z-transform ofM^(*)(t)(M^(*) being continuous). Thus:

[0063] Equation 2

M(t)=Z(M ^(*)(t))=a0+a1*z ⁻¹ +a2*z ⁻²+etc.

[0064] Each model exhibits dead time. Therefore, M^(*)(t) is written asM^(*)(t−d). M^(*) is zero when t≦d.

[0065] Each model has a final steady-state gain or a final constant ramprate; these are denoted as G or R, respectively. The time ofsteady-state (or final constant ramp rate) initiation is defined ast_(ss). The last value of the model occurs at time t_(last).

[0066] The envelope boundaries are the lower limit model and the upperlimit model for a positive gain model. The lower limit model is denotedas the “Slow Model” and, respective to the Reference Model, has thephysical significance of a process (a) having more dead time and (b)reaching steady state “later”. The upper limit model is denoted as the“Fast Model” and, respective to the Reference Model, has the physicalsignificance of a process (a) having less dead time and (b) reachingsteady state “sooner”. The fundamental idea of this robust controller isthat, as long as the controlled process exhibits a behavior that “lies”between the “Slow Model” and the “Fast Model”, then it is possible for acontroller to behave like a perfect controller in the sense that therewill be no model mismatch for which a compensation must be calculatedand implemented.

[0067] In defining the “Fast Model” and the “Slow Model”, substitutionsof the time variable into M^(*) (t) are performed; the aim of thesubstitution is to contract (Fast Model) or expand (Slow Model) thefunction of the Reference Model along the time axis.

[0068] The “Fast Model” is obtained by the following substitution of thetime variable into M^(*)(t):

[0069] For time before Dead Time:

[0070] Equation 3

t=t _(fast)/(1.0−F _(r1)) yielding t _(fast)=(1.0−F _(r1))*t.

[0071] For time after Dead Time:

[0072] Equation 4

t _(fast)=(1.0−F _(r1))*t_(d)+(1.0−F _(r2))*(t-t_(d)).

[0073] For a ramp model, F_(r2) is zero.

[0074] The portion after t_(fast)>t_(ss) is filled with the model valueat steady-state up to t_(final). In the case of a ramp, the ramp isextended at the constant rate R.

[0075] The “Slow Model” is obtained by the following substitution of thetime variable into M^(*)(t):

[0076] For time before Dead Time:

[0077] Equation 5

t _(slow)=(1.0+F _(r3))*t.

[0078] For time after Dead Time:

[0079] Equation 6

t _(slow)=(1.0+F _(r3))*t _(d)+(1.0+F _(r4))*(t−t _(d)).

[0080] For a ramp model, F_(r4) is zero.

[0081] The portion after t_(slow)>t_(final) is dropped. F_(r1), F_(r2),F_(r3,) and F_(r4) are robustness factors. The robustness factors arepositive adjustable values usually in the numeric range of 0-0.5, butthey can be of greater magnitude. The fact that the time-referencedmodel contraction and expansion are treated differently before and afterdead time allows for more flexibility in building the limit models (the“Slow Model” and the “Fast Model” are collectively “limit models”defining the “envelope” around the “Reference Model”). In this regard,(a) the veritable dead-time of the operational apparatus beingcontrolled and (b) the veritable transient trajectory of the operationalapparatus being controlled (as characterized in each model with a“curvilinear portion” as further described herein) both are subject totime-variance and/or to measurement error; the flexibility afforded bythe independent methods (1) in “Reference Model” expansion to the “SlowModel” and (2) in “Reference Model” contraction to the “Fast Model”facilitates the robust operational response enabled by the preferredembodiments. Furthermore, the “Slow” and “Fast” Models need thisflexibility when either of these limit models solves to be essentiallyproximate to the Reference Model.

[0082] At the end of the above substitution processes, all time in theReference and limit models will have the same equivalence, with eachmodel providing a time axis of a set of consecutive discrete intervalsof time where each discrete time interval for each related model has thesame time duration and each related model also has identically valuedzero-time time-axis attributes and maximum-time time-axis attributes, aspreviously noted.

[0083] That is:

[0084] Equation 7

t=t _(fast) =t _(slow).

[0085] As should be appreciated, before processing all the models in thedynamic control matrix to produce all the affiliated envelopes, some orall of the Reference Models are optionally extended with a highermagnitude of t_(last) to ensure that the last operation keeps unchanged(a) the gain of any non-integrating process model or (b) the ramp rateof any integrating process model.

[0086] The values of F_(r1), F_(r2), F_(r3), and F_(r4) belong to amodel and are intra-functional. It should be noted that it is possible(even desirable) to have fewer values to adjust than represented by thefull number of robust factors. In this regard, note that the mathematicsherein described allow for any set of F_(r) factors to be grouped andassigned a single value through use of ratios and user-definedfunctions. These F_(r) values are local to each controlled variableand/or each manipulated variable; it is therefore possible to provide asingle F_(r) for adjustment respective to the whole controller. Thisfeature does not prevent local adjustment if desired; therefore, eachFrk applied to each model is decomposed as:

[0087] Equation 8

F _(rk)(i,j)=F _(r)(global)+F _(r)(whole MV _(i))+F _(r)(whole CV_(i))+F _(rk)(specific to a Reference Model instance).

[0088] The requirement that each F_(rk)(ij) be a positive number isstill valid, but this does not prevent other components in the aboveequation from having a negative value. In this regard, a local F_(r) maybe negative with the effect that the net F_(rk)(ij) is of lowermagnitude than F_(r)(global) even as F_(rk)(i,j) is positive (or evenzero).

[0089] When all instances of F_(r)(i,j) have been chosen, the modelshave been properly extended (if necessary), and M^(*) _(fast) and M^(*)_(slow) have been calculated, then M^(*) _(fast) and M^(*) _(slow) arewritten into sampled form (or Z-transform form). The diagram anddiscussion respective to FIG. 16 illustrates a computer-implementedapproximative process which yields equivalent results to the aboveformalized models. The process involves interpolation of the ReferenceModel M (already in z-transform form).

[0090] In vector form an example result is:

[0091] Reference Model (0,0,0,0,0,0,a₁,a₂,a₃,a₄,a₅, . . . a_(ss), . . .a_(ss))

[0092] Slow Model (0,0,0,0,0,0,0,b₁,b₂,b₃,b₄,b₅, . . . a_(ss), . . .a_(ss))

[0093] Fast Model (0,0,0,0,c₁,c₂,c₃,c₄,c₅, . . . a_(ss), . . . a_(ss))

[0094] where b_(i) and c_(i) are interpolated from a_(i) with the rule:

[0095] Equation 9

x _(i) =f*a _(i)+(1.0−f)*a _(i+1)

[0096] and f is calculated from each F_(rk) and current time t in themodels.

[0097] It should be emphasized that there are user choices in definingand calculating limit models because these models are directed todefining the boundary (limits) of controlled process response (behavior)where the boundary separates (a) an operational zone of predictedbehavior where the model is trusted to be exact from (b) a complimentaryoperational zone where the model is trusted to have detected adisturbance in the process. Therefore, a benefit of the describedembodiments is realized insofar as imprecision in the Reference Modeldoes not diminish robustness to the degree that similar imprecision inthe Reference Model diminishes robustness when there is not a definedenvelope around the Reference Model (i.e. as in traditional DMC). Alsonoteworthy is the fact that the proposed transformation touches only (a)the dead time and (b) the process model trajectory; the gains of themodel are unchanged. Adaptation for the gain is added later; butadaptation is not required to achieve robustness in the face of (a)model imprecision, (b) (more importantly) dead time uncertainties,and/or (c) dead time variations respective to either (1) time or (2)process conditions.

[0098] The following second subsection of the formalizedcharacterization discusses the controller definition in the robustmulti-variable controller.

[0099] The overall structure of the controller proper is the same as fora regular DMC (Dynamic Matrix Controller). In this regard, thecontroller proper has three blocks: the predictor block, the optimizerblock, and the move calculator block. However, as will be furtherdiscussed in the discussion of the preferred embodiments, the predictorand the move calculator blocks differ from traditionally deployed DMC.The optimizer block is a conventional LP solver or any othercommercially available steady-state optimizer.

[0100] The predictor block of the preferred embodiments differs fromtraditional DMC in using the Slow and Fast Models with the optional useof the Reference Model. In this regard, the important element ofdifference relates to the prediction of at least two limit behaviors ofthe process.

[0101] The controller block uses the usual least-squares equation oftraditional DMC to evaluate the final moves in the manipulatedvariables; but, in the preferred embodiments, the calculation of E(i) isdifferent from the previous art in DMC- in this regard, the traditionalcalculation is:

[0102] Equation 10

ΔU=(A ^(t) WA)⁻¹ ·A ^(t) W·E

[0103] where ΔU=MV_(t+1)−MV_(t).

[0104] (A^(t)WA)⁻¹ is also denoted as the “ATA” matrix herein andA^(t)W·E is also denoted as the “ATE” matrix herein.

[0105] As in the case of traditional DMC, “move suppression factor”,“equal concern error”, and “constraints handling” are calculated andprocessed in the preferred embodiments when solving this least-squaresequation. These are independent of the vector E. In traditional DMC,robustness is substantively achieved with “move suppressioncommissioning” under the assumption that the best possible (Reference)model was obtained. This is implemented, however, at the expense ofsuppressing the reactive movement of the manipulated variables.Consequently, the controller may have diminished responsiveness todisturbances and set point changes respective to fully desiredresponsiveness.

[0106] But controller robustness can be obtained as long as thecontrolled process exhibits the predicted process behavior. Since exactprediction of the controlled process is impossible, the determination ofthe process is the location where robustness is “found”. So, for acontroller to behave like a perfect controller in the sense that therewill be no model mismatch to compensate-for, the model mismatch has tobe minimized by a modification of the process determination. The abovecontrol equation is therefore modified in the preferred embodiments tobe:

[0107] Equation 11

ΔU=(Δ^(t) WA)⁻¹ ·A ^(t) W·F(models, Y, . . .)

[0108] where F is a function dependant of process measurements Y, anderrors based on limits models are used. In this regard, F(models, Y, . .. ) has replaced E in the ΔU=(A^(t)WA)⁻¹·A^(t)W·E equation.

[0109] The following third subsection of the formalized characterizationdiscusses determination of the process for the robust multi-variablecontroller.

[0110] For each CV there are at least two predictions: the one from theFast Model CV_(fast) and the one from the Slow Model CV_(slow).Optionally, the prediction from the Reference Model is used along withat least one limit model. The predictions are obtained as in traditionalDMC practice with: $\begin{matrix}{{{CV}\left( {i,k} \right)} = {\sum\limits_{j = 1}^{N}{\sum\limits_{l = 1}^{np}\left( {{a\left( {i,j,l} \right)}*\Delta \quad {{U\left( {j,{k + l - 1}} \right)}.}} \right.}}} & \text{Equation~~12}\end{matrix}$

[0111] However, in the preferred embodiments, there are at least twoprediction blocks: one for the Slow Model and one for the Fast Model. Itis also preferable to maintain the prediction from the Reference Model,but, again, this is optional.

[0112] The measured output Y is compared to these predictions through anad-hoc function. The function is designed to generate a modifiedmeasured output Y^(*). Then the “error to correct” is a function of atleast these three elements and, optionally, the Reference Modelprediction:

[0113] Equation 13

Y ^(*) =f(CV _(fast)(t), CV_(slow)(t), Y, etc.)

[0114] In example, the function is defined as:

[0115] Equations 14-16

CV _(max)=Max(CV _(fast)(t−k), CV _(slow)(t−k)) {∉k|−d<k<+d}

CV_(min)=Min(CV _(fast)(t−k), CV _(slow))(t−k))d=0,1,2 or 3 (chosen)

CV _(mean)=(CV _(fast) +CV _(slow))/2.0

[0116] or alternatively:

[0117] Equation 17

CV _(mean) =CV _(reference) at the expense of more computing, but itmight be preferred insofar as a better estimate is achieved.

[0118] The extension {∉k|−d<k<+d} within the predicted values expandsthe choice of predicting models to those having less and more dead time.So, if d=3, for example, then this function actually uses at least 14different models, with each model generating different responsivebehavior:

[0119] Equations 18-20

If Y>CV _(fast) then Y ^(*) =Y−CV _(fast) +CV _(fast) +CV _(slow)

If Y<CV _(fast) then Y ^(*) =Y−CV _(fast) +CV _(slow)

Otherwise Y ^(*) =CV _(mean).

[0120] Another possible function (that has the benefit of beingcontinuous) is the following as obtained by defining a function φ tonormalize variations in the predicted CV's: $\begin{matrix}{{\Phi = \frac{Y - \frac{\left( {{CV}_{fast} + {CV}_{slow}} \right)}{2}}{{{CV}_{fast} - {CV}_{slow}}}};} & \text{Equation~~21}\end{matrix}$

[0121] it is possible to calculate the desired Y* according to$\begin{matrix}\begin{matrix}{Y^{*} = \quad {\frac{{CV}_{fast} + {CV}_{slow}}{2} + {\left( {Y - \left( \frac{{CV}_{fast} + {CV}_{slow}}{2} \right)} \right)*}}} \\{\quad {\left( {1 - \frac{1}{1 + {a\quad \Phi^{n}}}} \right).}}\end{matrix} & \text{Equation~~22}\end{matrix}$

[0122] The value of “a” and “n” are adjusted to provide a behavior thatfits statistical expectation. For example, a=1.5 and n=4 produces afunction that has desirable effects:

[0123] it returns Y^(*) equal to the CV_(mean) when Y is withinCV_(fast) and CV_(slow);

[0124] it returns Y^(*) equal to the measured CV when far away fromCV_(fast or CV) _(slow); and

[0125] it returns Y^(*) equal to the measured CV_(mean) plus a smallcorrection when close to CV_(fast) or CV_(slow).

[0126] The function term $\begin{matrix}\left( {1 - \frac{1}{1 + {a\quad \Phi^{n}}}} \right) & \text{Equation~~23}\end{matrix}$

[0127] is a confidence function that is zero (or close to zero) when themeasured output is within the Slow and Fast predictions. In the firstexample, the confidence interval is defined by CV_(max) and CV_(min). Inboth cases, the function is a scaling sensitivity factor. The functionalso jumps (increases) toward unity when the measured output moves awayfrom the predictions; this indicates a confidence that the measuredoutput indicates a strong deviation in the plant (apparatus inoperation) needing correction. Also, CV_(mean) (i.e.,(CV_(fast)+CV_(slow))/2) is optionally replaced by CV_(reference) (ifavailable).

[0128] The error to compensate-for is now estimated from Y^(*)−CV_(mean)for each CV. This formulation now contains the process information fromthe Slow and Fast Models, and it generates a controller using at least 2models simultaneously (and, optionally, more models as previouslyindicated):

[0129] Equation 24

ΔU=(A ^(t) WA)⁻¹ ·A ^(t) W(Y ^(*)−CV_(mean)).

[0130] The following fourth subsection of the formalizedcharacterization discusses the adaptive process in the robustmulti-variable controller.

[0131] Further robustness can be added to the controller. Since therobust controller is presumably stable “in the face of” (when dealingwith or when subject to coping with) process variation caused by deadtime change and overall model change, then the (remaining) gain elementis now adapted on-line (during real-time operational use of thepreferred embodiments) with better efficiency respective to traditionalDMC practice since the overall control process of the describedembodiments presumably provides relatively improved stability. Thisadaptive process is perhaps more precisely denoted as “semi-adaptive”insofar as (a) only the gain is adapted and also (b) because somediscrepancy is inherently accepted in model shape and model dead time bythe robust controller structure described by Equation 11. Theinformation derived from using two limit predictions is further used forestimating (on-line) improved gains for all the models (Reference, Slow,and Fast Models). By guiding the adaptation process to operational zoneswhere maximum stable information is available, the adaptive algorithm isfed with reliable and non-disruptive data. This enables the gainestimation algorithm to proceed smoothly.

[0132] The process of gain adaptation involves comparing past predictionof the Reference Model with historical data from the process. Thenmultiplicative correction factors are estimated by the least-squaresmethod.

[0133] The model prediction based on the Reference Model at time t_(k)for each CV(i) can be written as: $\begin{matrix}{{{CV}\left( {i,k} \right)} = {\sum\limits_{j = 1}^{N}{\sum\limits_{l = 1}^{np}\left( {{a\left( {i,j,l} \right)}*\Delta \quad {U\left( {j,{k + l - 1}} \right)}} \right.}}} & \text{Equation~~25}\end{matrix}$

[0134] and this is transformed into a larger sampled time interval andinto a difference equation: $\begin{matrix}\begin{matrix}{{\Delta \quad {{CV}_{s}\left( {i,k} \right)}} = \quad {\sum\limits_{j = 1}^{N}{\sum\limits_{l = 1}^{r}\left( {{a\left( {i,j,{s*l}} \right)} -} \right.}}} \\{{\quad \left. {a\left( {i,j,{s*\left( {l - 1} \right)}} \right)} \right)}*} \\{\quad {\Delta \quad {U_{s}\left( {j,{k + l - 1}} \right)}}}\end{matrix} & \text{Equation~~26}\end{matrix}$

[0135] where: N is the number of MV's and FF's

[0136] “np” being the model size; then there are “r” divisions of equalsize “s” in the model such that there are np=r*s values in the model.

[0137] ΔCV_(s)(i,k) and ΔU_(s)(i,k) are taken as the time difference oftheir values separated by a time interval equal to s*Δt. Usually, “s” ischosen such that effect of dead time is minimized; this generatesstability in the adaptation process.

[0138] The ΔCV_(s)(i,k) values are weighted according to their age andreliability. Age is discounted by weighting ΔCV_(s)(i,k) with λ(t) sothat recent values have more weight in the adaptation calculation thanrelatively older data:

[0139] Equation 27

λ_((k))=λ₀ ^((k−1))

[0140] where λ₀ is adjusted to lie usually between .9 and 1.0.

[0141] The reliability is related to the model predictions and,therefore, involves the predicted values obtained by the Slow and FastModels as well as the type of MV movements. It also uses on-line processvalue Y. Since a Fast Model and a Slow Model each define a zone ofuncertainty respective to the Reference Model, this overall informationis used to determine readiness of the data for adaptation use:

[0142] Equation 28

V _((i,k)) =f(CV _(slow) , CV _(fast) , CV _(reference) , MV, Y) and0.0<V _((i,k))<1.0, i.e. .,:

[0143] Equations 29-33

If CV _(slow) ≠CV _(fast)

if Y>CV _(slow) and Y>CV _(fast) then V(i,k)=0.0,

if Y<CV_(slow) and Y<CV _(fast) then V(i,k)=0.0,

[0144] otherwise

V(i,k)=Min(|Y−CV _(fast) |, |Y−CV _(slow))/|CV _(fast) −CV _(slow))|,

[0145] otherwise

V(i,k)=1.0

[0146] Finally, if ΔU_(s)(jk) is not monotonic within its “s” timeinterval according to its historical record, then V(i,k)=0.0.

[0147] The monotonicity of U is evaluated by:

[0148] Equation 34

ΔUs|<Σk _(i) |ΔU _(t+i)|

[0149] with Σk_(i)=1.0 with each k_(i)>0 (chosen to preferentiallyweight the effect of first ΔU_(t+i) values in the historical dataseries).

[0150] Optionally, a part of the proposed scaling sensitivity factordetermines the V function: $\begin{matrix}{{V\left( {i,k} \right)} = {\left( \frac{1}{1 + {a\quad \Phi^{n}}} \right).}} & \text{Equation~~35}\end{matrix}$

[0151] Whatever the choice, this function is chosen by the user toeliminate (or minimize) the effect of model mismatch caused by modelparameters other than gain by using the predictions obtained from atleast two limit models. The selected function varies according to thecharacteristics of the process such as (a) a deterministic process withfew disturbances or (b) a process characterized by strong stochasticdisturbances. The function V has the effect of (a) screening datacontaining the most valuable information for adapting the process gainsand (b) rejecting some of the transients and disturbances introducingerrors in the adaptation process.

[0152] Continuing, each ΔCVs(i,k) is modified by the weighting equation:

[0153] Equation 36

ΔCV _(s)(i,k)=ΔCV _(s)(i,k)*(λ_((i,k)) *V _((ik))).

[0154] This forms the matrix “C” used to solve the followingminimization of sum-of-squared error: $\begin{matrix}\begin{matrix}{{S(i)} = {\sum\limits_{k}{\left( {\lambda_{(k)}*{V\left( {i,k} \right)}} \right)*{E\left( {i,k} \right)}^{2}}}} \\{{= {\sum\limits_{k}{{H(k)}*{E\left( {i,k} \right)}^{2}}}},}\end{matrix} & \text{Equation~~37}\end{matrix}$

[0155] the summation being done on available historical data$\begin{matrix}\begin{matrix}{{E\left( {i,k} \right)} = \quad {{\Delta \quad {Y_{s}\left( {i,k} \right)}} - {\Delta \quad {{CV}_{s}\left( {i,k} \right)}}}} \\{= \quad {{\Delta \quad {Y_{s}\left( {i,k} \right)}} - {\sum\limits_{j = 1}^{N}{\sum\limits_{l = 1}^{r}{\Delta \quad {G\left( {i,j} \right)}*}}}}} \\{\quad {\left( {{a\left( {i,j,l} \right)} - {a\left( {i,j,{l - 1}} \right)}} \right)*}} \\{\quad {\Delta \quad {{U_{s}\left( {j,{k + l - 1}} \right)}.}}}\end{matrix} & \text{Equations~~38-39}\end{matrix}$

[0156] To minimize S(i), a set of changes in gain is introduced toprovide multipliers of the actual “a” values of each model. These arethe ΔG(i,j) multiplying each term of the summation (Equation 39).Therefore, there are as many ΔG as there are models. For futurereference, ΔU and ΔCV quantities are collectively denoted as “delta-squantities”.

[0157] Continuing, the changes in gain are computed from theleast-squares equation:

[0158] Equation 40

ΔG(i)=(C ^(t) HC)⁻¹C^(t)HΔY(i) (repeated for each CV_(i)).

[0159] The resulting individual ΔG(j) multipliers are validated andrelaxed (filtered) so that smooth changes are implemented. In somecases, the validation process results in the rejection of the entirevector estimate. Note that, in this case, the validation process addsrobustness to the adaptation.

[0160] Continuing, each Model (Slow, Fast and Reference) is updated bythe matrix ΔG(i):

[0161] Equation 41

M=M·ΔG(i).

[0162] This is repeated for each selected CV(i). Each CV(i) does notnecessarily need adaptation in this regard; this is a choice (a) definedat controller commissioning or (b) implemented in real-time operation bybeing either “turned on” or “turned off” respective to each individualCV.

[0163] The following fifth subsection of the formalized characterizationdiscusses the decision to adapt in the robust multi-variable controller.

[0164] The implementation of the results of adaptation:

[0165] Equation 42

ΔG(C ^(t) HC)⁻¹ ·C ^(t) HΔY

[0166] affects all models and may produce either an ill-conditionedmatrix or a singular matrix. As should be apparent, a singular matrix oran ill-conditioned matrix should not be implemented for control.Therefore, the gains are validated by analyzing the consequences of anygain change. This adds further robustness into the adaptation process.

[0167] The initial model is used to generate a set of characteristicvalues such as eigenvalues or singular values. The calculation isusually performed with a commercial package. Therefore, only theresulting vector and matrices from the decomposition calculation processare important here.

[0168] These characteristic values will be used to validate futurechanges and they serve as reference values.

[0169] The following assumes that the gains have been normalized tocompensate for scale and physical unit effects. The gain matrix is madea-dimensional.

[0170] Since the matrix of the process gain is the target of theadaptation, the characteristic values are obtained from G_(reference).

[0171] Equation 43

For eigenvalues: G _(reference)=T⁻¹ λ·T;

[0172] Equation 44

For singular values: G _(reference) =U·Σ·V.

[0173] The matrix X or Σ contains the characteristic values to monitor.For an ill-conditioned matrix, it is necessary (a) to detect a change ofsign in one characteristic value of the process and then (b) toresponsively implement the equivalent change of sign in the model gainsto produce the same sign in all the characteristic values and add to thecontroller stability.

[0174] The vectors T and/or U,V are maintained as constant, and only thecharacteristic values are updated. Then, as the adaptation calculateschanges in model gains G(i,j), new corresponding λ or Σ are determinedand validated to produced λ^(*) or Σ^(*). The validated characteristicvalues are then used in back-calculating the final gains:

[0175] Equation 45

For eigenvalues: G ^(*) _(ref,slow,fast) =T ⁻¹ ·λ ^(*) ·T;

[0176] Equation 46

For singular values: G ^(*) _(ref,slow,fast) =U·Σ ^(*) ·V.

[0177] It should be noted that some safeguards are preferably introducedto prevent abrupt changes. In this regard, large characteristic values(greater than or equal to threshold ε) and small characteristic values(less than threshold ε) are handled in different ways. The small valuesare associated with instabilities and potential divergence because thelikelihood of having sign difference between the controlled process andthe model is greater. The small characteristic values are accordinglynot allowed to decrease in magnitude. The threshold is defined (denotedε) to prevent any magnitude change from crossing a limit where thechange can induce divergence in the controller (i.e. inverted gain). Thedivergence problem is not solved by the adaptation mechanism. Adifferent mechanism is described in subsection 6.

[0178] If any characteristic value exhibits a sign change and (at thesame time) is a large value, then the adaptation for the gain related tothat CV will be rejected as unreliable. Otherwise, the characteristicvalues are validated and relaxed according to:

[0179] Equations 47 and 48

λ^(*) _(i,t)=max(ε,(0.1 31 h)^(*)λ_(reference),min(ε,(1.0+h)^(*)λ_(reference),λ^(*) _(i,t)))

λ_(i,t) 32 λ_(i,t) +f ^(*)(λ_(i,t)−λ_(i,t−1)) with f chosen 0.0<f<1.0

[0180] where “h” defines clamping limits respect to the initialcharacteristic values and “f” limits speed of changes. Optionally, “f”is adjusted based on historical data:

[0181] Equation 49

f=g(statistics of past λ).

[0182] The unfiltered characteristic values are maintained in history(a) for future use when “f” depends on the statistics of past calculatedcharacteristic values or (b) to assess the stability of the adaptationprocess.

[0183] The following sixth subsection of the formalized characterizationdiscusses determination of divergence and adaptation to divergence inthe robust multi-variable controller.

[0184] As mentioned before, the initial Reference Model is used tocalculate characteristic values such as eigenvalues and eigenvectors, orthe singular value decomposition Σ.

[0185] The calculation is performed with a commercial package such as“Recipes in C” by Cambridge University Press.

[0186] The process of adaptation to divergence does not depend on thesemi-adaptative mechanism of the prior two subsections and runsindependently.

[0187] The set of eigenvectors or the vectors of V (in the singularvalue decomposition) constitutes a mapping of the current MV's into aspace where effects are decoupled.

[0188] The vectors T and/or U,V (kept constant) are used to transformthe ΔCV(i) and the ΔMV(i). The evaluation of these last two quantitiesis performed by using the “delta-s quantities”:

[0189] Equation 50

ΔCV_(s)(i,k) and ΔMV_(s)(i,k)

[0190] (once again) to minimize effect of dead time. This producesstability in the divergence detection mechanism.

[0191] Then each ΔMV_(s)(i,k) and ΔCV_(s)(i,k) is validated by thevalidity factor V(i,k). This uses the information coming from the Slowand Fast Models indicating the transient nature of the changes in themanipulated variables and controlled variables:

[0192] Equations 51 and 52

ΔMV_(s)(i,k)=ΔMV_(s)(i,k)*V_((i,k));

ΔCV_(s)(i,k)=ΔCV_(s)(i,k)*V_((i,k)).

[0193] Finally a transformation is done by:

[0194] Equation 53

For eigenvalues: A=T·ΔCV _(s) and B=T·ΔMV _(s);

[0195] Equation 54

For singular values: A−U ⁻¹ ·ΔCV _(s) and B−V·ΔMV _(s).

[0196] The elements of A are the transformed CV and the elements of Bare the transformed MV. This introduces a decoupling of effects.

[0197] Continuing, an estimate of the sign of the characteristic valuesis obtained by a ratio of the non-zero elements and/or sufficientlylarge elements of B to the elements of A. A “too-small” value of anyelement of A indicates, obviously, that the corresponding MVs (a) didnot move or (b) did not move in concert to act on the correspondingtransformed CV. In that case, no conclusion is reached regarding thecorresponding characteristic value and, accordingly, nothing is changed.

[0198] The known small characteristic values are tracked in thehistorian, and a persistent sign change triggers a positive divergencedetection signal. The logic here is primarily based on a user chosenalgorithm that uses statistics such as those derived from a CUSUMalgorithm.

[0199] When divergence is detected, changes in the model gains G(i,j)(corresponding to the value of λ or Σ, but with the sign inverted) areintroduced to produced λ^(d) or Σ^(d). This means that (for eigenvalues)the following transformation is accomplished for any small eigenvalues(other eigenvalues may have been adapted as well): $\begin{matrix}\left. \begin{pmatrix}\lambda \\\lambda \\{\ldots \quad} \\{+ ɛ} \\{\ldots \quad} \\\lambda\end{pmatrix}\Rightarrow{\begin{pmatrix}\lambda \\\lambda \\{\ldots \quad} \\{- ɛ} \\{\ldots \quad} \\\lambda\end{pmatrix}.} \right. & \text{Equation~~55}\end{matrix}$

[0200] The new vector, denoted as λ^(d) with inverted characteristicvalues, is then used to back-calculate the final gains:

[0201] Equation 56

For eigenvalues: G ^(d) _(ref,slow,fast) =T ⁻¹·λ^(d) T;

[0202] Equation 57

For singular values: G ^(d) _(ref,slow,fast) =U·Σ^(d)·V.

[0203] The new gains are then inserted into the Reference Model and anyother model previously derived from it (e.g., the Fast and Slow Models).It is important to maintain the same gains for all corresponding partsof all models.

[0204] Further details in the preferred embodiments are appreciated fromconsideration of the figures and their description. Turning now to thefigures and FIG. 1, System Overview 100 presents an overview of thephysical components in an applied described embodiment.

[0205] Control Computer 104 incorporates Control Computer CPU 122 forexecution of Control Computer Logic 120 in real-time operationalmonitoring and control of Operated

[0206] Apparatus 102. Operated Apparatus 102 is alternatively, inexample and without limitation, a steam turbine, a gas turbine, achemical process, an internal combustion engine, or a furnace.

[0207] Communication Interface 106 incorporates Communication InterfaceCPU 118 for execution of Communication Interface Logic 116 infacilitating bilateral data communication between Control Computer 104and Multi-Variable Controller 108.

[0208] Multi-Variable Controller 108 incorporates Multi-VariableController CPU 114 for execution of Multi-Variable Controller Logic 112in the methodology of the preferred embodiments; Multi-VariableController Logical Detail 200 of FIG. 2 shows further detail inMulti-Variable Controller Logic 112. Monitor and Keyboard 110 provides amonitor for human viewing of information and data.

[0209] Analog Input Signal 124 provides an analog input signal fromOperated Apparatus 102 as an electrical voltage input to ControlComputer 104 and is responsive to an attribute (e.g. a temperature or apressure) within of Operated Apparatus 102. After conversion into adatalogical entity within Control Computer 104, Analog Input Signal 124is denoted as a Controlled Variable (CV) insofar as the control ofmeasured attributes of Real-time Interface Logic 210 is the goal of acontroller deployed in either Control Computer 104 or Multi-VariableController 108.

[0210] Digital Input Signal 126 provides an digital input signal fromOperated Apparatus 102 as an electrical voltage input to ControlComputer 104 and is responsive to an attribute (e.g. a valve beingeither open or not open) within Operated Apparatus 102. After conversioninto a datalogical entity within Control Computer 104, Digital InputSignal 126 is denoted as a Controlled Variable (CV) insofar as thecontrol of measured attributes of Real-time Interface Logic 210 is thegoal of a controller deployed in either Control Computer 104 orMulti-Variable Controller 108.

[0211] Digital Output Signal 128 provides an digital output signal fromControl Computer 104 as an electrical voltage input to modify andmanipulate the position of a control element in Operated Apparatus 102.In so doing, Digital Output Signal 128 modifies attributes (e.g., thekinetic energy available for transfer to a fluid in enabling fluidtransport through a pump) of Operated Apparatus 102. Accordingly, adatalogical entity within Control Computer Logic 120, CommunicationInterface Logic 116, and Multi-Variable Controller Logic 112 whose valueis represented in the voltage of Digital Output Signal 128 is denoted asa Manipulated Variable (MV).

[0212] Analog Output Signal 130 provides an analog output signal fromControl Computer 104 as an electrical voltage input to modify andmanipulate the position of a control element in Operated Apparatus 102.In so doing, Analog Output Signal 130 modifies attributes (i.e. thecross sectional area available for fluid flow within a pipe) of OperatedApparatus 102. Accordingly, a datalogical entity within Control ComputerLogic 120, Communication Interface Logic 116, and Multi-VariableController Logic 112 whose value is represented in the voltage of AnalogOutput Signal 130 is denoted as a Manipulated Variable (MV).

[0213] The natures of Operated Apparatus 102, Control Computer 104, andCommunication Interface 106 are presumed to be apparent to those ofskill and are presented here to enable an overall understanding of thepreferred described embodiments and their use. Details in Multi-VariableController 108 are focal in most subsequent discussion in thisspecification. An example of Control Computer 104 is given in U.S.patent Ser. No. 09/482,386, filed Jan. 12, 2000, entitled “PROCESSCONTROL SYSTEM WITH INTEGRATED SAFETY CONTROL SYSTEM”, which isincorporated herein by reference.

[0214] Turning now to FIG. 2, Multi-Variable Controller Logical Detail200 shows detail in Multi-Variable Controller Logic 112. Human InterfaceLogic 202 provides data output for viewing on the screen of Monitor andKeyboard 110 and data input from the keyboard and affiliated inputdevices (e.g. trackball, mouse) from Monitor and Keyboard 110. Detailsin Models 204 are shown in Time-Dependent Non-IntegratingCharacterization 500, Multiple Non-Integrating Model Characterization600, Non-Integrating Model Inertial Characteristics 700, Time-DependentIntegrating Functional Characterization 800, Multiple Integrating ModelCharacterization 900, and Integrating Model Inertial Characteristics1000 of FIGS. 5-10. MV Determination Logic 206 executes the responsivecontrol logic to determine Manipulated Variable 212 in the context ofControlled Variable 214 and Feed Forward Variable 216 values. AdaptationLogic 208 provides logic for adapting the control-related values withinModels 204 and MV Determination Logic 206. Adaptation Logic 208 hasDivergent Response Logic 218, Gain Determination Logic 220, and ArchivalLogic 222 logical portions. Real-time Interface Logic 210 reads FeedForward Variable 216 and Manipulated Variable 212 variables from ControlComputer Logic 120 (from data communication enabled by CommunicationInterface 106) and communicates these variables to MV DeterminationLogic 206. Real-time Interface Logic 210 also reads Manipulated Variable212 variables from MV Determination Logic 206 and communicates thesevariables to Control Computer Logic 120 (through data communicationenabled by Communication Interface 106).

[0215] Continuing with attention now to FIG. 3, Basic Control SystemBlock Diagram 300 shows a traditional control system diagram for acontroller scheme incorporating a model. Controller 302 is thecontroller (frequently determined as an effective inversion of Model306). Controlled Apparatus 304 is the controller block representation ofOperated Apparatus 102. Model 306 is a computer-implemented model ofaspects of Controlled Apparatus 304 under control. Disturbance/CVSumming Point 308 is a summing point for Disturbance 312 and output(Controlled Variable) from Controlled Apparatus 304. Model/CV SummingPoint 310 is a summing point for Model 306 output (a model-determinedvalue of a Controlled Variable) and output from Disturbance/CV SummingPoint 308 (Controlled Variable actual value including the influence ofany Disturbance 312). Disturbance 312 is any influence on a ControlledVariable not established by Controller 402. Setpoint 314 representsdeterminations of either (a) an operating technician or (b) an automatedsetpoint determination system as to the desired value of a ControlledVariable.

[0216] In FIG. 4, Multi-Variable Controller Control System Block Diagram400 shows a control system diagram for a controller scheme incorporatinga model scheme according to the preferred embodiments. Controller 402 isclosely affiliated with Controller 302 respective to abstractedfunctionality in Multi-Variable Controller Control System Block Diagram400. Controller 402 incorporates Linear Program 426. ControlledApparatus 304, Disturbance/CV Summing Point 308, and Disturbance 312 arereprised from Controlled Apparatus 304. Further detail in Controller 402is described in Controller Operation 1700 of FIG. 17. ProcessDisturbance Value Summing Point 404 is a summing point for ModelingError Calculation Block 406 output and Disturbance/CV Summing Point 308output. Output from Process Disturbance Value Summing Point 404 is inputto Controller 402. Modeling Error Calculation Block 406 determines thedegree of error in model-determination of a Controlled Variablerespective to the separate model-determination instances of theControlled Variable through use of Fast Model 410, Reference Model 408,and Slow Model 412. Reference Model 408 is abstractly equivalent toModel 306 except that the model of Reference Model 408 can be modifiedin use via input from Adaptation Block 416. Models of Fast Model 410 andSlow Model 412 are determined from the model of Reference Model 408 asfurther described in Time-Dependent Non-Integrating Characterization500, Multiple Non-Integrating Model Characterization 600,Non-Integrating Model Inertial Characteristics 700, Time-DependentIntegrating Functional Characterization 800, Multiple Integrating ModelCharacterization 900, and Integrating Model Inertial Characteristics1000 of FIGS. 5-10 and in Model Construction Step 1200, Dead-TimeTime-Axis Attribute Determination 1300, Steady-State Time-Axis AttributeDetermination 1400, Ramp Portion Determination Detail 1500, andCurvalinear Portion Determination Detail 1600 of FIGS. 12-16.

[0217] History Block 414 shows Archival Logic 222 in Multi-VariableController Control System Block Diagram 400. History Block 414 is indata read communication with (a) Controlled Variables sent to ControlledApparatus 304, (b) Manipulated Variables from Controller 402, and (c)output-model-determined values of the Controlled Variable from FastModel 410, Reference Model 408, and Slow Model 412; data received fromthese control block elements is archived for use by Adaptation Block 416in adapting Fast Model 410, Reference Model 408, Slow Model 412 andController 402 as needed. Adaptation Block 416 is in bilateral datacommunication with History Block 414 to use the archived values inadapting Fast Model 410, Reference Model 408, Slow Model 412, andController 402 as needed. Divergent Response Routine 418 is a logicalportion of Adaptation Block 416 for determining control gains for use inController 402, Reference Model 408, Fast Model 410, and Slow Model 412.Gain Determination Routine 420 is a logical portion of Adaptation Block416 for determining if candidate modification data for use in Controller402, Reference Model 408, Fast Model 410, and Slow Model 412 wouldconfigure the system according to Multi-Variable Controller ControlSystem Block Diagram 400 to provide undesirable divergent control ofOperated Apparatus 102. Adaptation Block 416 inputs adaptive informationto Fast Model 410, Reference Model 408, Slow Model 412, and Controller402. In one embodiment, Controller-Adapter Data Path 422 facilitatesoperation of Adaptation Block 416 logic under the direction ofController 402, and Adaptation Block 416 provides inputs viaAdapter-Controller Data Path 424. In an alternative embodiment,Adaptation Block 416 operates in parallel with Controller 402 withoutbenefit of Controller 402 direction via Controller-Adapter Data Path 422and provides input to Controller 402 via Adapter-Controller Data Path424.

[0218] Turning now to FIG. 5, Time-Dependent Non-IntegratingCharacterization 500 is useful in understanding the preferred embodimentmodeling approach and shows a depiction of a traditional non-integratingresponse model (a Primary Model) of a Controlled Variable changerespective to a unit step change in a respective Manipulated Variablesuch as used in defining Model 306. Time-Dependent Non-IntegratingCharacterization 500 is also the depiction of the response model used indefining Reference Model 408. The Set Of Discrete Intervals Of Time 502are shown on Time Axis 506 with each Discrete Interval Of Time 504 beingof identical time duration.

[0219] An axis for Controlled Variable Magnitude 508 is depicted inorthogonal intersection to Time Axis 506 and shows Zero-Time Time-AxisAttribute 512, at the moment (time axis zero value) of a unit stepchange in the respective Manipulated Variable. The function betweenZero-Time Time-Axis Attribute 512 and Primary Model Dead-Time Time-AxisAttribute 516 (Axis 506 locator reference C in FIGS. 5-10) is usuallytermed “Dead Time” in the response model. The model initiates responseaccording to Primary Model Curvilinear Portion 522 at Primary ModelDead-Time Time-Axis Attribute 516 (Axis 506 locator reference C) whichcontinues in time until Primary Model Steady-State Time-Axis Attribute520 (Axis 506 locator reference F in FIGS. 5-8). From Primary ModelSteady-State Time-Axis Attribute 520 to Maximum-Time Time-Axis Attribute514 (Axis 506 locator reference B in FIGS. 5-10), the Model showsconstant response in Primary Model Homaloidal Portion 510 afterachieving the modification in the Controlled Variable according toResponse Gain Attribute 518.

[0220] Turning now to FIG. 6, Multiple Non-Integrating ModelCharacterization 600 reprises Discrete Intervals Of Time 504, Time Axis506, Controlled Variable Magnitude 508, Primary Model Homaloidal Portion510, Zero-Time Time-Axis Attribute 512, Maximum-Time Time-Axis Attribute514 (Axis 506 locator reference B), Primary Model Dead-Time Time-AxisAttribute 516 (Axis 506 locator reference C), Response Gain Attribute518, Primary Model Steady-State Time-Axis Attribute 520 (Axis 506locator reference F), and Primary Model Curvilinear Portion 522 and thenshows a Fast (FAST) Model according to a function defined by Zero-TimeTime-Axis Attribute 512 to Fast Model Dead-Time Time-Axis Attribute 602(Axis 506 locator reference C′) to Fast Model Steady-State Time-AxisAttribute 604 (Axis 506 locator reference F′) to Maximum-Time Time-AxisAttribute 514 (Axis 506 locator reference B) having Fast ModelCurvilinear Portion 606 (disposed between Fast Model Dead-Time Time-AxisAttribute 602 and Fast Model Steady-State Time-Axis Attribute 604) andFast Model Homaloidal Portion 614 (disposed between Fast ModelSteady-State Time-Axis Attribute 604 and Maximum-Time Time-AxisAttribute 514). A Slow SLOW) Model is also shown according to a functiondefined by Zero-Time Time-Axis Attribute 512 to Slow Model Dead-TimeTime-Axis Attribute 612 (Axis 506 locator reference C″) to Slow ModelSteady-State Time-Axis Attribute 608 (Axis 506 locator reference F″) toMaximum-Time Time-Axis Attribute 514 having Slow Model CurvilinearPortion 610 (disposed between Slow Model Dead-Time Time-Axis Attribute612 and Slow Model Steady-State Time-Axis Attribute 608) and Slow ModelHomaloidal Portion 616 (disposed between Slow Model Steady-StateTime-Axis Attribute 608 and Maximum-Time Time-Axis Attribute 514). TheSlow (SLOW) Model and the Fast (FAST) Model are both derived from thePrimary (REFERENCE) Model according to Time-Dependent Non-IntegratingCharacterization 500.

[0221] Continuing with attention now to FIG. 7, Non-Integrating ModelInertial Characteristics 700 shows Multiple Non-Integrating ModelCharacterization 600 with further identification of Fast DynamicResponse Inertial Characteristic 702 between the Fast Model and thePrimary Model and of Slow Dynamic Response Inertial Characteristic 704between the Primary Model and the Slow Model.

[0222] Turning now to FIG. 8, a Primary (REFERENCE) Model according toTime-Dependent Integrating Functional Characterization 800 shows adepiction of a traditional integrating response model (a Primary Model)of a Controlled Variable change respective to a unit step change in arespective Manipulated Variable such as used in defining Model 306. TimeAxis 506, Discrete Interval Of Time 504, Zero-Time Time-Axis Attribute512, Maximum-Time Time-Axis Attribute 514 (along with respective TimeAxis 506 reference locator B), and Primary Model Dead-Time Time-AxisAttribute 516 (along with respective Time Axis 506 reference locator C)are reprised to show dimensional alignment with the reference-frame ofTime-Dependent Non-Integrating Characterization 500. Primary ModelRamped Portion 802 differentiates the Primary Model from that depictedin Time-Dependent Non-Integrating Characterization 500 and has anattribute of a Ramp Rate as the slope of the response as a function oftime.

[0223] In FIG. 9, Multiple Integrating Model Characterization 900 showsthe integrating response model equivalents of a Fast (FAST) Model in thefunction defined by points Zero-Time Time-Axis Attribute 512, Fast ModelDead-Time Time-Axis Attribute 906 (Time Axis 506 reference locator C′),and Maximum-Time Time-Axis Attribute 514 and a Slow (SLOW) Model in thefunction defined by Zero-Time Time-Axis Attribute 512, Slow ModelDead-Time Time-Axis Attribute 908 (Time Axis 506 reference locator C″),and Maximum-Time Time-Axis Attribute 514 (note that Maximum-TimeTime-Axis Attribute 514 is a singularity “point” respective to point Bin all models Time-Dependent Non-Integrating Characterization 500,Multiple Non-Integrating Model Characterization 600, Non-IntegratingModel Inertial Characteristics 700, Time-Dependent IntegratingFunctional Characterization 800, Multiple Integrating ModelCharacterization 900, and Integrating Model Inertial Characteristics1000). Primary Model Ramped Portion 802 is reprised from the PrimaryModel along with reference points Discrete Interval Of Time 504, TimeAxis 506, Zero-Time Time-Axis Attribute 512, Maximum-Time Time-AxisAttribute 514, and Primary Model Dead-Time Time-Axis Attribute 516 (TimeAxis 506 reference locator C). The Fast Model has Fast Model RampedPortion 902 defined by the functional portion connected to Fast ModelDead-Time Time-Axis Attribute 906 and Maximum-Time Time-Axis Attribute514. The Slow Model has Slow Model Ramped Portion 904 defined by thefunctional portion connected to Slow Model Dead-Time Time-Axis Attribute908 and (at the singularity point denoted by Time Axis 506 referencelocator B) Maximum-Time Time-Axis Attribute 514.

[0224] Turning now to FIG. 10, Integrating Model InertialCharacteristics 1000 shows Multiple Integrating Model Characterization900 with further identification of Fast Dynamic Response InertialCharacteristic 1002 between the Fast (FAST) Model and the Primary(REFERENCE) Model and of Slow Dynamic Response Inertial Characteristic1004 between the Primary (REFERENCE) Model and the Slow (SLOW) Model.

[0225] Continuing with attention now to FIG. 11, a consideration ofdetails in methods respective to the preferred embodiments,Multi-Variable Controller General Deployment Actions 1100 presents abroad overview of steps in using the Model Variable Controller. In ModelConfiguration Step 1102, Operated Apparatus 102 is operated and data isacquired to build the Primary Model and the Primary Model is constructedfor use in Reference Model 408. A DMC (Dynamic Matrix Controller) modelis characteristic of the initial Primary Model. The Fast and Slow Modelsof Fast Model 410 and Slow Model 412 (and Multiple Non-Integrating ModelCharacterization 600, Non-Integrating Model Inertial Characteristics700, Multiple Integrating Model Characterization 900, and IntegratingModel Inertial Characteristics 1000) are also built according to furtherdetail of Model Construction Step 1200, Dead-Time Time-Axis AttributeDetermination 1300, Steady-State Time-Axis Attribute Determination 1400,Ramp Portion Determination Detail 1500, and Curvalinear PortionDetermination Detail 1600 of FIGS. 12-16. The Primary Model is alsoinverted to provide the response of Controller 402. In Initial TuningStep 1104, Multi-Variable Controller Control System Block Diagram 400 isfurther configured as a control engineer defines tuning parameters. InOperational Step 1106, Multi-Variable Controller Control System BlockDiagram 400 is used to control Operated Apparatus 102 according toController Operation 1700 of FIGS. 17A and 17B; in executing this step,disturbance estimation operates within the logic of MV DeterminationLogic 206 to establish, from the set of models, an estimated modelingerror value in interaction of one Controlled Variable with all theManipulated Variables. An estimated process disturbance value from theControlled Variable magnitude and the estimated modeling error value isalso calculated. The estimated model error value and the estimatedprocess disturbance error value are then used to determine the need forfurther adaptation of either tuning data or model data.

[0226] In providing a discussion of the methods used in the describedembodiments, FIGS. 12 to 20 present useful sets of key virtual stepsshowing ordered progressions within the general motif of a flowchart; asshould be apparent however, especially in view of certain parallel andalternative paths which are presented without protocol for branching,these flowcharts are not meant to rigorously depict a design leveltemplate for computer logic coding. A conversion from the methods andprocesses depicted in the figures to a coding flowsheet and thence toexecutable code should be apparent and straightforward given the figuresand discussion.

[0227] Turning now to FIG. 12, Model Construction Step 1200 shows afirst level of Model Configuration Step 1102 detail in the modificationof each Primary Model to a respective Fast Model and to a respectiveSlow Model. Fast Model Curvalinear Portion Modification Step 1202initiates the path for Fast Model Curvilinear Portion 606 definition;and Slow Model Curvalinear Portion Modification Step 1204 initiates thepath for Slow Model Curvilinear Portion 610 definition.

[0228] FIGS. 13-16 show further details in specific considerations ofthe models and the overview depiction of Model Construction Step 1200.Dead-Time Time-Axis Attribute Determination 1300 of FIG. 13 shows detailin Primary Model Dead-Time Time-Axis Attribute 516 definition.Steady-State Time-Axis Attribute Determination 1400 of FIG. 14 showsdetail in Primary Model Steady-State Time-Axis Attribute 520 definition.Ramp Portion Determination Detail 1500 of FIG. 15 shows detail inPrimary Model Dead-Time Time-Axis Attribute 516 and Primary Model RampedPortion 802 attribute determination in Time-Dependent IntegratingFunctional Characterization 800 and Multiple Integrating ModelCharacterization 900. Curvalinear Portion Determination Detail 1600 ofFIG. 16 shows detail in Fast Model Curvilinear Portion 606 and SlowModel Curvilinear Portion 610 determination from Primary ModelCurvilinear Portion 522.

[0229] Turning now to FIG. 17, Controller Operation 1700 shows theoperational process of MV Determination Logic 206 and Controller 402. InHistory Update Step 1702, data for existing MV, FF, and CV variables istransmitted to History Block 414 for archival and use in AdaptationBlock 416. The history is built for N input (CV) variables, Lfeed-forward (FF) variables, and M output (MV) variables. In AdaptationDecision Step 1704, an estimated process disturbance value (from theControlled Variable magnitude) and the estimated modeling error valueare calculated. The estimated model error value and the estimatedprocess disturbance error value are then used to determine the need forfurther adaptation of either tuning data or model data. Details in ModelAdaptation Step 1722 (given a YES answer from Adaptation Decision Step1704) are discussed in Adaptation Methodology Detail 1800 of FIGS. 18A-18E. In CV Prediction Step 1706, the Primary (Reference), Slow, and FastModels are used to predict steady-state Controlled Variable values. Thepredictions are done for N input (CV) variables, L feed-forward (FF)variables, and M output (MV) variables. Further detail in this is shownin Future CV Requirement Definition Detail 1900 of FIG. 19. InSteady-State MV Definition Step 1708, Linear Program 426 is called todefine steady-state Manipulated Variable values. These values aredefined for N input (CV) variables and M output (MV) variables. InDynamic Matrix Build Step 1710, the Dynamic (ATA) Matrix is rebuilt iftuning is to be changed, if the models are to be changed, or if this isthe first execution instance of the process of Controller 402. The ATAMatrix has a dimension of M x M, where M =N (CV variables) multiplied bythe number of future MV moves for each MV. In Future CV RequirementDefinition Step 1712, necessary future shifts in Controlled Variablevalues are determined from setpoints and other predicted future valuesas acquired from the database of Control Computer Logic 120 in CV DataAcquisition Step 1720. Further detail in Future CV RequirementDefinition Step 1712 is shown in CV Prediction Detail 2000 of FIG. 20.The shifts are determined for M output variables. In MV ChangeDefinition Step 1714, the ATE matrix and Dynamic Matrix are solved todefine incremental changes in Manipulated Variables. In MVImplementation Step 1716, the incremental Manipulated Variable changesare implemented and the process returns to Data Acquisition Step 1718;this affects each of N input variables. In Data Acquisition Step 1718,MV, CV, and FF variables are read from Control Computer Logic 120 (viaCommunication Interface 106). In CV Data Acquisition Step 1720,setpoints and other predicted future values are acquired from thedatabase of Control Computer Logic 120 along with necessary futureshifts in Controlled Variable values.

[0230] In FIG. 18, Adaptation Methodology Detail 1800 shows specifics inModel Adaptation Step 1722 (given a YES answer from Adaptation DecisionStep 1704). In Forgetting

[0231] Factor Modification Decision 1804, the “forgetting factor” isapplied to the most senescent data in Archival Logic 222 via use indetermining individual discount factors. In C Matrix Build Step 1802 andother steps of Adaptation Methodology Detail 1800, “differential form”is sometimes also termed “difference form”. The C Matrix is dimensionedas M×N where N is the number of MV and FF variables and M is the numberof increments in time horizon used.

[0232] Continuing with attention now to FIG. 19, Future CV RequirementDefinition Detail 1900 shows process detail in Future CV RequirementDefinition Step 1712 of Controller Operation 1700. In Alternative CVError Determination Step 1902, an alternative error value is determinedfor the current and predicted CV values. In example:

[0233] Equations 58-60

L=maximum predicted CV−minimum predicted CV

X=current CV/L

error=x*(1.0−exp(−x*x))

[0234] OR

error=x*(1.0−1.0/(1+a*x{circumflex over (n)}))

[0235] where “a” is defined to enable robust tuning (note that “a” is,in one embodiment, a function of constraint proximity).

[0236] In FIG. 20, CV Prediction Detail 2000 presents further detail inFuture CV Requirement Definition Step 1712. In CV Error Correction Step2002, each error for each Controlled Variable is evaluated via therelationship:

[0237] Equation 61

Error=setpoint−function(Fast predicted CV, Slow predicted CV)

[0238] where the function is a straightforward arithmetic mean or,alternatively, the function is based upon constraint proximity in theCV.

[0239] The benefit of the multi-variable controller when compared to atraditional DMC controller is demonstrated in the following Examplesfrom simulation in conjunction with FIGS. 21 to 26.

[0240] In the example, a simulation of an operating apparatus iscontrolled in FIGS. 21, 23, and 25 with a classic DMC. In respectivelycomparative FIGS. 22, 24, and 26, the same simulation of the operatingapparatus is controlled using the robust multi-variable controller ofthe preferred embodiments. In the FIG. 21-22 comparison, the model is“affected” with an identical shift in a model parameter between thesimulation of the plant and the model used in the controller. In theFIG. 23-24 comparison, the model is “affected” with an identical shiftin a gain parameter between the simulation of the plant and the modelused in the controller. In the FIGS. 25-26 comparison, the model is“affected” with an identical controller model (characteristic value)inversion. In reading the simulation output time charts, note that theright hand scale of the time charts defines the quantitative value ofthe MV variable, whereas the left hand scale defines the SP and CVquantitative values.

[0241]FIG. 21 presents output 2100 from a simulator for a regular DMCoperating in a situation of model mismatch in modeling parameters.Output 2100 contains time chart 2102 for the actions of CV₁ and MV₁ timechart 2104 for the actions of CV₂ and MV₂, and time chart 2106 for theactions of CV₃ and MV₃. FIG. 21 shows the regular DMC in the situationof model mismatch between the simulation of the operating apparatus andthe model used in the controller (the case is a 3×3 with model mismatchin only the first model; in this regard, the dead time is incorrectlymodeled). The move suppression factor is set to unity. Equal concernerrors are also all unity. The simulation is normalized internally sothat all values of CV and MV begin at 50.0. The process gains areusually in the 0 to 3.0 range. The figure shows the instability inducedin the DMC by a single small error in the dead time model in only onemodel out of 9 (i.e. 3×3). Each other model parameter is strictly equalbetween the apparatus simulation and the model of the controller. Thedead time error in the first model is about 20%. This error makes thecontroller unstable in all the 3 CV's; the traditional cure is toincrease move suppression but at the expense of controller reaction timeto external disturbance and to set point changes.

[0242]FIG. 22 presents output 2200 from a simulator for the robustcontroller of the preferred embodiments operating in the situation ofmodel mismatch of FIG. 21. Output 2200 contains time chart 2202 for theactions of CV₁ and MV₁, time chart 2204 for the actions of CV₂ and MV₂,and time chart 2206 for the actions of CV₃ and MV₃. FIG. 22 shows therobust controller in face of the same model mismatch as FIG. 21 (thecase is the same 3×3 with model mismatch in only the first model; thedead time is again incorrectly modelized). The move suppression factoris set to unity. Equal concern errors are also all unity. The simulationis normalized internally so that all values of CV and MV start at 50.0.The figure shows the resulting stability of the robust multivariablecontroller. The controller is not gaining stability at the expense ofthe reaction time, and, therefore, disturbances and set point changescan be handled faster than the regular DMC. The robustness is sosubstantial that move suppression can be zero (i.e. turned off) if thereis any reason to do so.

[0243]FIG. 23 presents output 2300 from a simulator for a regular DMCoperating in a situation of model mismatch in gains. Output 2300contains time chart 2302 for the actions of CV₁ and MV₁, time chart 2304for the actions of CV_(2 and MV) ₂, and time chart 2306 for the actionsof CV₃ and MV₃. FIG. 23 shows the regular DMC without adaptation. Thecase is a 3×3 with model mismatch in only the gains of all models. Themove suppression factor is set to unity. Equal concern errors are alsoall unity. The simulation is normalized internally so that all values ofCV and MV start at 50.0. The process gains are usually in the 0 to 3.0range with errors in the range 0 to 50%. The figure shows theinstability induced in the DMC by the gain errors. The DMC controller isunstable in all the 3 CV's.

[0244]FIG. 24 presents output 2400 from a simulator for the robustcontroller of the preferred embodiments operating in the situation ofmodel mismatch of FIG. 23. Output 2400 contains time chart 2402 for theactions of CV₁ and MV₁, time chart 2404 for the actions of CV₂ and MV₂,and time chart 2406 for the actions of CV₃ and MV₃. FIG. 24 shows therobust controller with adaptation. The case is the same 3x3 as used inFIG. 23 with model mismatch in only the gains of all models. The movesuppression factor is set to unity. Equal concern errors are also allunity. The simulation is normalized internally so that all values of CVand MV start at 50.0. The process gains are usually in the 0 to 3.0range with errors in the range 0 to 50%. The figure shows some initialinstability in the robust controller (area of 2408); this is a learningperiod. After this learning period, the controller exhibits nearlyperfect response to set point changes since it derives, from past data,the correct model gains that match the actual process to the controlmodel. Note also, in comparing the peak in the area of 2408 of FIG. 24with the comparable peak area of 2308 of FIG. 23, that the controller ofFIG. 24 shows less overshoot above the setpoint SP; this demonstratesthe efficiency with which the described embodiment of the multi-modelcontroller reacts to the operating system.

[0245]FIG. 25 presents output 2500 from a simulator for a regular DMCoperating in a situation of controller model (characteristic value)inversion. Output 2500 contains time chart 2502 for the actions of CV₁and MV₁, time chart 2504 for the actions of CV₂ and MV₂, and time chart2506 for the actions of CV₃ and MV₃. Note that (a) the set point changeat time t=100 triggers the inverted response and (b) the controllerdiverges very rapidly since the move suppression is set to unity.

[0246]FIG. 26 presents output 2600 from a simulator for the robustcontroller of the preferred embodiments operating in the situation ofmodel (characteristic value) inversion of FIG. 25. Output 2600 containstime chart 2602 for the actions of CV₁ and MV₁, time chart 2604 for theactions of CV₂ and MV₂, and time chart 2606 for the actions of CV₃ andMV₃. Again, the set point change at time t=100 triggers the invertedresponse, and the controller initially diverges—but not as rapidly asthe regular DMC of FIG. 25. Inversion detection then triggers inversionof the characteristic value in all models; this process effectivelyoccurs at time t=120. As should be apparent, the inversion is initiatedat an earlier relative moment when a different choice of controllerparameters are used. The move suppression factor is set to unity. Acomparison of FIGS. 25 and 26 shows the value in the describedembodiments of (a) determining divergent response behavior in thecontrolling process and then (b) counteracting the identified divergentresponse behavior to stabilize the controller.

[0247] The described embodiments are achievable within a number ofcomputer system architectural alternatives. In one alternative, anembodiment is facilitated within the context of a multi-processenvironment wherein different databases, data sections, and logicalengines (logical sub-sections which read data, write data, calculatedata, and make decisions in data computational processes) within thecomputer-implemented logic are simultaneously installed and activatedwith dynamically active data transfer linkages, facilitated eitherdirectly or indirectly via the use of a data common and/or anapplication program interface (APIs). In another alternative, thedifferent databases, data sections, and logical engines are facilitatedwithin the context of a single process environment wherein differentcomponents are sequentially activated by an operating technician withlinkages facilitated either directly or indirectly via the use of datacommons or data schema dedicated to interim storage. In yet anotheralternative, the different databases, data sections, and logical enginesare deployed within the context of a single process environment wherein(a) some components of the different databases, data sections, andlogical engines are accessed and activated by an operating technicianwith linkages facilitated either directly or indirectly via the use ofdata commons or data schema dedicated to interim storage, and (b) theother components within the different databases, data sections, andlogical engines are accessed and activated by calls from previouslyactivated with linkages facilitated either directly or indirectly viathe use of data commons or data schema dedicated to interim storage. Inone alternative, the multi-variable controller is implemented andexecuted on one physical computer. In another alternative, thecontroller is facilitated on different platforms where the resultsgenerated by one engine are transferred by an operating technician to asecond or other plurality of the different databases, data sections, andlogical engines executing on different computer platforms, although aseparate operating system is needed on each platform. In yet anotheralternative, controller is facilitated on a plurality of computerplatforms interconnected by a computer network, although a separateoperating system is needed on each platform and the operating systemfurther incorporates any networking logic that is needed to facilitatenecessary communications via such a computer implemented communicationnetwork. A relatively small controller according to the describedembodiments is deployed on a computer having an Intel 80486 CPU with a33 MHz clock, 10 Megabytes of RAM Memory, and a 100 Megabyte Hard Diskusing a Windows '95 operating system from Microsoft Corporation. Alarger controller according to the described embodiments is deployed ona Vaxstation 4000m90 having 128 Megabytes of RAM and a (at least) 500Megabyte Hard Disk from Compaq Computer Corporation. Many of thedifferent gradations of architectural deployment within the context ofthe above overview are considered by the applicants to be generallyapparent, and the 10 illustration of present invention can beconveniently modified by those of skill, given the benefit of thisdisclosure, to achieve the utility of the present invention within thecontext of the above computer system architectural alternatives withoutdeparting from the spirit of the present invention once given thebenefit of the disclosure.

I claim:
 1. A computer-implemented system for controlling the operationof a processing apparatus having at least one independently controlledmanipulated variable and at least one controlled variable responsive tosaid manipulated variable, comprising: a set of at least two models fordefining an expected variation in magnitude for each controlled variableas a respective function of each manipulated variable, said model sethaving a dynamic response inertial characteristic; and means forimplementing a change defined from said model set to modify saidmanipulated variable in said processing apparatus.
 2. The system ofclaim 1 further comprising means for adapting said models duringreal-time use.
 3. The system of claim 1 further comprising means fordetermining divergent response behavior in said controlling.
 4. Acomputer-implemented system for controlling the operation of aprocessing apparatus having at least one independently controlledmanipulated variable and at least one controlled variable responsive toat least one said manipulated variable and further responsive to processdisturbances originating independently of said manipulated variable,comprising: means for measuring the magnitude of each controlledvariable; a set of at least two models for defining an expectedvariation in magnitude for each controlled variable as a respectivefunction of a manipulated variable disturbance instance in eachmanipulated variable; means for determining, from said set of models, anestimated modeling error value in interaction of one said controlledvariable with all said manipulated variables in achieving a manipulatedvariable modification; means for determining an estimated processdisturbance value from said controlled variable magnitude and saidestimated modeling error value; means for defining a first portion ofdesired change in the present value of at least one manipulated variablefrom said estimated modeling error value; means for defining a secondportion of desired change in the present value of at least onemanipulated variable from said estimated process disturbance value; andmeans for implementing said first and second desired change portions tomodify said manipulated variable.
 5. The system of claim 4 wherein saidmodel set incorporates a dynamic response inertial characteristic, saidsystem further comprising means for acquiring an inertial characteristicvalue so that said dynamic response inertial characteristic can beachieved in said model set.
 6. The system of claim 5 further comprisingmeans for adapting said model set during real-time use.
 7. The system ofclaim 4 further comprising means for determining divergent responsebehavior in said controlling.
 8. A computer-implemented system forcontrolling the operation of an apparatus having at least oneindependently controlled manipulated variable and at least onecontrolled variable responsive to at least one said independentlycontrolled manipulated variable, comprising: means for defining a set ofconsecutive discrete intervals of time in a time-dependent function;means for introducing, in each independently controlled manipulatedvariable, a manipulated variable disturbance instance of predefinedmagnitude, said disturbance instance prompting a response in eachcontrolled variable; means for measuring the magnitude of eachcontrolled variable; a controller; means for defining, respective toeach response, at least one time-dependent functional characterizationof said controlled variable magnitude over said set of consecutivediscrete intervals of time on a time-axis, said functionalcharacterization having a zero-time time-axis attribute, a maximum-timetime-axis attribute, a dead-time time-axis attribute, a response gainattribute, a ramp-rate attribute, a steady-state time-axis attribute, acurvilinear portion disposed between the time-axis position of saiddead-time time-axis attribute and the time-axis position of saidsteady-state time-axis attribute, a ramped portion disposed between thetime-axis position of said dead-time time-axis attribute and thetime-axis position of said maximum-time time-axis attribute, and ahomaloidal portion disposed between the time-axis position of saidsteady-state attribute and the time-axis position of said maximum-timetime-axis attribute, each discrete time interval for one said responsehaving the same time duration, said homaloidal portion having a zerovalue for an integrating controlled variable response, said rampedportion having a zero value for a non-integrating controlled variableresponse, and each functional characterization for one said responsehaving identically valued zero-time time-axis attributes, response gainattributes, ramp-rate attributes, and maximum-time time-axis attributes;means for acquiring a first said time-dependent functionalcharacterization respective to the response from measuring an effectedchange in said magnitude of a controlled variable after introducing saiddisturbance instance, said first functional characterization having afirst said dead-time time-axis attribute, a first said steady-statetime-axis attribute, a first said curvilinear portion, a first saidhomaloidal portion, and a first said ramped portion having itsfunctional derivative equivalent to said ramp-rate attribute at saidmaximum-time time-axis attribute; means for inverting said firsttime-dependent functional characterization into said controller; meansfor deriving a second said time-dependent functional characterizationfrom said first time-dependent functional characterization, said secondfunctional characterization having a second dead-time attribute in firstpredefined diminishing offset from said first dead-time attribute, asecond steady-state attribute in second predefined diminishing offsetfrom said first steady-state attribute, a second curvilinear portion infirst predefined functional offset from said first curvilinear portion,a second homaloidal portion in extrapolation of said first homaloidalportion, and a second ramped portion in extrapolation of said firstramped portion; means for deriving a third said time-dependentfunctional characterization from said first time-dependent functionalcharacterization, said third functional characterization having a thirddead-time attribute in first predefined superadditive offset from saidfirst dead-time attribute, a third steady-state attribute in secondpredefined superadditive offset from said first steady-state attribute,a third curvilinear portion in second predefined functional offset fromsaid first curvilinear portion, and a third homaloidal portion intruncation of said first homaloidal portion, and a third ramped portionin truncation of said first ramped portion; means for determining adesired change in the value of a manipulated variable in real-time fromsaid second time-dependent functional characterization, said thirdtime-dependent functional characterization, the magnitude of at leastone controlled variable, and said controller; and means for implementingsaid desired change to modify said manipulated variable.
 9. Thecomputer-implemented system of claim 8, said means for determining adesired change in the value of a manipulated variable in real-timedetermining said desired change from said first time-dependentfunctional characterization, said second time-dependent functionalcharacterization, said third time-dependent functional characterization,the magnitude of at least one controlled variable, and said controller.10. The computer-implemented system of claim 9 wherein said first,second, and third time-dependent functional characterizations definethree models in a model set, said model set incorporating a firstdynamic response inertial characteristic between said first and secondtime-dependent functional characterizations and a second dynamicresponse inertial characteristic between said first and thirdtime-dependent functional characterizations, said system furthercomprising means for acquiring a first inertial characteristic value anda second inertial characteristic value so that said first and seconddynamic response inertial characteristics can be respectively achievedin said model set.
 11. The system of claim 10 further comprising meansfor adapting said model set during real-time use.
 12. Acomputer-implemented system for controlling the operation of aprocessing apparatus having at least one independently controlledmanipulated variable and at least one controlled variable responsive toat least one said manipulated variable and further responsive to processdisturbances originating independently of said manipulated variable,comprising: means for measuring the magnitude of each controlledvariable; a model for defining an expected variation in magnitude foreach controlled variable as a respective function of a manipulatedvariable disturbance instance in each manipulated variable; means fordetermining, from said model, an error value in interaction of one saidcontrolled variable with all said manipulated variables in achieving amanipulated variable modification; means for defining a desired changein the present value of at least one manipulated variable from saiderror value; means for implementing said desired change to modify saidmanipulated variable; and means for determining divergent responsebehavior in said controlling.
 13. The computer-implemented system ofclaim 12 further comprising means for counteracting said divergentresponse behavior.
 14. A method for computer-implemented controlling ofa processing apparatus having at least one independently controlledmanipulated variable and at least one controlled variable responsive tosaid manipulated variable, comprising the steps of: defining an expectedvariation in magnitude for each controlled variable as a respectivefunction of each manipulated variable from a set of at least two models,said model set having a dynamic response inertial characteristic; andimplementing a change defined from said model set to modify saidmanipulated variable in said processing apparatus.
 15. The method ofclaim 14 further comprising the step of adapting said models duringreal-time use.
 16. The method of claim 14 further comprising the step ofdetermining divergent response behavior in said controlling.
 17. Amethod for computer-implemented controlling of a processing apparatushaving at least one independently controlled manipulated variable and atleast one controlled variable responsive to at least one saidmanipulated variable and further responsive to process disturbancesoriginating independently of said manipulated variable, comprising thesteps of: measuring the magnitude of each controlled variable; definingan expected variation in magnitude for each controlled variable as arespective function of a manipulated variable disturbance instance ineach manipulated variable from a set of at least two models;determining, from said set of models, an estimated modeling error valuein interaction of one said controlled variable with all said manipulatedvariables in achieving a manipulated variable modification; determiningan estimated process disturbance value from said controlled variablemagnitude and said estimated modeling error value; defining a firstportion of desired change in the present value of at least onemanipulated variable from said estimated modeling error value; defininga second portion of desired change in the present value of at least onemanipulated variable from said estimated process disturbance value; andimplementing said first and second desired change portions to modifysaid manipulated variable.
 18. The method of claim 17 wherein said modelset incorporates a dynamic response inertial characteristic, said methodfurther comprising the step of acquiring an inertial characteristicvalue so that said dynamic response inertial characteristic can beachieved in said model set.
 19. The method of claim 18 furthercomprising the step of adapting said model set during real-time use. 20.The method of claim 17 further comprising the step of determiningdivergent response behavior in said controlling.
 21. A method forcomputer-implemented controlling of an apparatus having at least oneindependently controlled manipulated variable and at least onecontrolled variable responsive to at least one said independentlycontrolled manipulated variable, comprising the steps of: defining a setof consecutive discrete intervals of time in a time-dependent function;introducing, in each independently controlled manipulated variable, amanipulated variable disturbance instance of predefined magnitude, saiddisturbance instance prompting a response in each controlled variable;measuring the magnitude of each controlled variable; providing acontroller; defining, respective to each response, at least onetime-dependent functional characterization of said controlled variablemagnitude over said set of consecutive discrete intervals of time on atime-axis, said functional characterization having a zero-time time-axisattribute, a maximum-time time-axis attribute, a dead-time time-axisattribute, a response gain attribute, a ramp-rate attribute, asteady-state time-axis attribute, a curvilinear portion disposed betweenthe time-axis position of said dead-time time-axis attribute and thetime-axis position of said steady-state time-axis attribute, a rampedportion disposed between the time-axis position of said dead-timetime-axis attribute and the time-axis position of said maximum-timetime-axis attribute, and a homaloidal portion disposed between thetime-axis position of said steady-state attribute and the time-axisposition of said maximum-time time-axis attribute, each discrete timeinterval for one said response having the same time duration, saidhomaloidal portion having a zero value for an integrating controlledvariable response, said ramped portion having a zero value for anon-integrating controlled variable response, and each functionalcharacterization for one said response having identically valuedzero-time time-axis attributes, response gain attributes, ramp-rateattributes, and maximum-time time-axis attributes; acquiring a firstsaid time-dependent functional characterization respective to theresponse from measuring an effected change in said magnitude of acontrolled variable after introducing said disturbance instance, saidfirst functional characterization having a first said dead-timetime-axis attribute, a first said steady-state time-axis attribute, afirst said curvilinear portion, a first said homaloidal portion, and afirst said ramped portion having its functional derivative equivalent tosaid ramp-rate attribute at said maximum-time time-axis attribute;inverting said first time-dependent functional characterization intosaid controller; deriving a second said time-dependent functionalcharacterization from said first time-dependent functionalcharacterization, said second functional characterization having asecond dead-time attribute in first predefined diminishing offset fromsaid first dead-time attribute, a second steady-state attribute insecond predefined diminishing offset from said first steady-stateattribute, a second curvilinear portion in first predefined functionaloffset from said first curvilinear portion, a second homaloidal portionin extrapolation of said first homaloidal portion, and a second rampedportion in extrapolation of said first ramped portion; deriving a thirdsaid time-dependent functional characterization from said firsttime-dependent functional characterization, said third functionalcharacterization having a third dead-time attribute in first predefinedsuperadditive offset from said first dead-time attribute, a thirdsteady-state attribute in second predefined superadditive offset fromsaid first steady-state attribute, a third curvilinear portion in secondpredefined functional offset from said first curvilinear portion, and athird homaloidal portion in truncation of said first homaloidal portion,and a third ramped portion in truncation of said first ramped portion;determining a desired change in the value of a manipulated variable inreal-time from said second time-dependent functional characterization,said third time-dependent functional characterization, the magnitude ofat least one controlled variable, and said controller; and implementingsaid desired change to modify said manipulated variable.
 22. The methodof claim 21, said step of determining a desired change in the value of amanipulated variable in real-time determining said desired change fromsaid first time-dependent functional characterization, said secondtime-dependent functional characterization, said third time-dependentfunctional characterization, the magnitude of at least one controlledvariable, and said controller.
 23. The method of claim 22 wherein saidfirst, second, and third time-dependent functional characterizationsdefine three models in a model set, said model set incorporating a firstdynamic response inertial characteristic between said first and secondtime-dependent functional characterizations and a second dynamicresponse inertial characteristic between said first and thirdtime-dependent functional characterizations, said method furthercomprising the step of acquiring a first inertial characteristic valueand a second inertial characteristic value so that said first and seconddynamic response inertial characteristics can be respectively achievedin said model set.
 24. The method of claim 23 further comprising thestep of adapting said model set during real-time use.
 25. A method forcomputer-implemented controlling of a processing apparatus having atleast one independently controlled manipulated variable and at least onecontrolled variable responsive to at least one said manipulated variableand further responsive to process disturbances originating independentlyof said manipulated variable, comprising the steps of: measuring themagnitude of each controlled variable; a model for defining an expectedvariation in magnitude for each controlled variable as a respectivefunction of a manipulated variable disturbance instance in eachmanipulated variable; determining, from said model, an error value ininteraction of one said controlled variable with all said manipulatedvariables in achieving a manipulated variable modification; defining adesired change in the present value of at least one manipulated variablefrom said error value; implementing said desired change to modify saidmanipulated variable; and determining divergent response behavior insaid controlling.
 26. The method of claim 25 further comprising the stepof counteracting said divergent response behavior.